Analysis of synchronisation patterns in stateful active objects
نویسندگان
چکیده
This paper presents a static analysis technique based on effect and behavioural types for deriving synchronisation patterns of stateful active objects and verifying their safety – e.g. absence of deadlocks. This is challenging because active objects use futures to refer to results of pending asynchronous invocations and because these futures can be stored in object fields, passed as method parameters, or returned by invocations. Our effect system traces the access to object fields, thus allowing us to compute behavioural types that express synchronisation patterns in a precise way. The behavioural types are thereafter analysed by a solver that discovers potential deadlocks. Key-words : Deadlock detection, type system, behavioral types, stateful active objects 1. Laboratoire I3S – CNRS – [email protected] 2. INRIA, University of Bologna [email protected] 3. Laboratoire I3S – Université Côte d’Azur, INRIA – [email protected] Analysis of synchronisations in stateful active objects Ludovic Henrio, Cosimo Laneve, and Vincenzo Mastandrea 1 Université Côte d’Azur, CNRS, I3S, France, [email protected] 2 University of Bologna, Italy & INRIA-Focus, France, [email protected] 3 Université Côte d’Azur, CNRS, I3S, INRIA-Focus, France, [email protected] Abstract. This paper presents a static analysis technique based on effect and behavioural types for deriving synchronisation patterns of stateful active objects and verifying their safety – e.g. absence of deadlocks. This is challenging because active objects use futures to refer to results of pending asynchronous invocations and because these futures can be stored in object fields, passed as method parameters, or returned by invocations. Our effect system traces the access to object fields, thus allowing us to compute behavioural types that express synchronisation patterns in a precise way. The behavioural types are thereafter analysed by a solver that discovers potential deadlocks. This paper presents a static analysis technique based on effect and behavioural types for deriving synchronisation patterns of stateful active objects and verifying their safety – e.g. absence of deadlocks. This is challenging because active objects use futures to refer to results of pending asynchronous invocations and because these futures can be stored in object fields, passed as method parameters, or returned by invocations. Our effect system traces the access to object fields, thus allowing us to compute behavioural types that express synchronisation patterns in a precise way. The behavioural types are thereafter analysed by a solver that discovers potential deadlocks.
منابع مشابه
Synoptic analysis of 500 hpa flow patterns in rainy Spring’s Arasbaran region
Arasbaran is one of most important regions in terms of agriculture, economics and tourism in northwest of Iran that it usually receives the most yearly spring precipitation. To recognize the synoptic patterns of the 500 hpa, geopotential height data were driven for coordinates 00-70 ˚ E and 15- 65˚N in rainy springs (1972-1976-1979-1981-1986).To select the most important component using princi...
متن کاملTowards a High-Level Multimedia Modelling & Synchronisation Environment Based on Constraint Programming
The problem of modelling and synchronisation of multimedia objects is addressed in the declarative logic programming setting and in particular within the framework of (objectoriented) timed concurrent constraint programming (OO-TCCP). The real-time extensions that have been proposed for the concurrent constraint programming framework are coupled with the object-oriented and inheritance mechanis...
متن کاملDeterministic Multithreading for Java-based Replicated Objects
This paper describes a novel approach to deterministic multithreading for active replication of Java objects. Unlike other existing approaches, the presented deterministic thread scheduler fully supports the native Java synchronisation mechanisms, including reentrant locks, condition variables, and time bounds on wait operations. Furthermore, this paper proposes source-code transformation as a ...
متن کاملTROM: A Transactional Replicated Object Memory
This paper presents transactional replication, a novel approach for replicating distributed objects. It uses non-blocking synchronisation techniques to realise software transactional memory for ensuring replica consistency. Unlike traditional passive object replication, which executes requests on a single primary, our approach allows using an arbitrary replica to execute a client request. Fine-...
متن کاملFluents: a Uniform Extension of Kernel Prolog for Reeection and Interoperation with External Objects
We revisit the design of Prolog and propose a simpliied built-in system which provides a uniform interface for controlling multiple interpreters and external stateful objects. On top of a simple kernel (Horn Clause Interpreters with LD-resolution) we introduce Fluents, high level stateful objects which empower and simplify logic programming languages through reeection of the underlying interpet...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017